home *** CD-ROM | disk | FTP | other *** search
- /************************************************************************************/
- /* MouseDownProc */
- /************************************************************************************/
-
- #include "MyHeaders.h"
-
- short MouseDownProc()
- {
- short MouseDRetCode = 0;
- Boolean passEvtFlag = TRUE;
-
- myMouseWhere = FindWindow(myEvent.where, &workWindowPtr); /* Get loc. of click*/
- switch (myMouseWhere) /* do things depending on loc. */
- {
- case (inDesk): /* if just on desktop, do nada */
- break;
-
- case (inSysWindow): /* If in a system window */
- SystemClick (&myEvent, workWindowPtr); /* give it to Desk Manager */
- break;
-
- case (inMenuBar): /* If in the menu bar */
- worklong = MenuSelect(myEvent.where); /* get menu ID and item no. */
- if (worklong) /* if in a menu */
- WorkRetCode = MenuProc(worklong); /* perform menu command */
- break;
-
- default: /* Must be in window structure */
- WorkRetCode = WhichWindow(workWindowPtr, &k); /* match ptr to table */
- if (WorkRetCode == 0) /* if it's a good match */
- {
- windSub = k;
- if (FrontWindow()!=windTbl[windSub].windPtr) /* not active? */
- {
- SelectWindow (windTbl[windSub].windPtr); /* activate it */
- if (myMouseWhere != inDrag) /* process mouseDown more only */
- passEvtFlag = FALSE; /* if it is in the drag region */
- }
- if (passEvtFlag)
- {
- switch (windTbl[windSub].windRec.refCon) /* window type */
- {
- case (ProcMain):
- WorkRetCode = MainWindowProc();
- break;
-
- case (ProcText):
- WorkRetCode = TextWindowProc();
- break;
-
- case (ProcHelp):
- WorkRetCode = HelpWindowProc();
- break;
- }
- }
- }
- break;
- }
-
- return MouseDRetCode;
- }
-